package br.edu.utfpr.backupTools.controller.interfaces;

import java.io.IOException;

import br.edu.utfpr.backupTools.controller.validator.BackupValidator;
import br.edu.utfpr.backupTools.model.dao.interfaces.DaoBackup;
import br.edu.utfpr.backupTools.model.pojo.Backup;
import br.edu.utfpr.comum.RetornoValidacao;
import br.edu.utfpr.comum.Stream;


public abstract class ControladorBackup extends AbstractController<Backup, BackupValidator, DaoBackup>{
	public abstract RetornoValidacao gerarTodosBackups();
	
	public abstract RetornoValidacao gerarBackup(Backup backup, boolean log);
	
	public abstract RetornoValidacao gerarRestore(Backup backup);
	
	public abstract Stream gerarBackupRemoto(Backup backup) throws IOException;

    public abstract RetornoValidacao gerarRestoreRemoto(Stream stream, Backup backup) throws IOException;

    public abstract boolean possuiBackup(Backup backup);
	
}
